package cart.api.vo;

import store.model.core.Store;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 购物车商品分组VO
 * Created by Liang Wenxu on 2016/11/2.
 */
public class CartItemGroupVo implements Serializable {
    /** 分组方式 1-- 店铺分组（当前只支持店铺分组） */
    private String groupType;

    /** 分组类型 */
    private String groupName;

    /** 分组方式为店铺分组时不能为空 */
    private String storeId;

    /** 分组方式为店铺分组时不能为空 */
    private String storeType;


    private Store store;

//    有效商品数（未删除且有效的商品数量合计）
    private Integer validCounts = 0;

    /** 显示商品计数（除已删除商品外的商品数量合计） */
    private Integer displayCounts = 0;

    /** 显示全部商品计数（除已删除商品外的商品数量合计，不受勾选限制） */
    private Integer allItemCounts = 0;

    /** 分组展示顺序 */
    private Integer showIdx;
    /** 分组商品列表 */
    private List<CartItemVo> cartItems;
    /** 分组价格小计 */
    private BigDecimal sumPrice;
    /** 配送费用 */
    private BigDecimal shippingFee;


    public String getGroupType() {
        return groupType;
    }

    public void setGroupType(String groupType) {
        this.groupType = groupType;
    }

    public Store getStore() {
        return store;
    }

    public void setStore(Store store) {
        this.store = store;
    }

    public Integer getShowIdx() {
        return showIdx;
    }

    public void setShowIdx(Integer showIdx) {
        this.showIdx = showIdx;
    }

    public List<CartItemVo> getCartItems() {
        return cartItems;
    }

    public void setCartItems(List<CartItemVo> cartItems) {
        this.cartItems = cartItems;
    }

    public BigDecimal getSumPrice() {
        return sumPrice;
    }

    public void setSumPrice(BigDecimal sumPrice) {
        this.sumPrice = sumPrice;
    }

    public String getStoreType() {
        return storeType;
    }

    public void setStoreType(String storeType) {
        this.storeType = storeType;
    }

    public String getStoreId() {
        return storeId;
    }

    public void setStoreId(String storeId) {
        this.storeId = storeId;
    }

    public String getGroupName() {
        return groupName;
    }

    public void setGroupName(String groupName) {
        this.groupName = groupName;
    }

    public Integer getValidCounts() {
        return validCounts;
    }

    public void setValidCounts(Integer validCounts) {
        this.validCounts = validCounts;
    }

    public Integer getDisplayCounts() {
        return displayCounts;
    }

    public void setDisplayCounts(Integer displayCounts) {
        this.displayCounts = displayCounts;
    }

    public BigDecimal getShippingFee() {
        return shippingFee;
    }

    public void setShippingFee(BigDecimal shippingFee) {
        this.shippingFee = shippingFee;
    }

    public Integer getAllItemCounts() {
        return allItemCounts;
    }

    public void setAllItemCounts(Integer allItemCounts) {
        this.allItemCounts = allItemCounts;
    }
}
